package com.xju.atpgs.generator;

import com.xju.atpgs.entity.Question;

import java.util.List;

public class GeneticParameter {
    private  List<Question> choiceQuestion;
    private  List<Question> judgeQuestion;
    private  List<Question> fillingQuestion;
    private  List<Question> shortAnswerQuestion;
    private  List<Question> solveQuestion;
    private  int GROUP_SIZE;
    private  double CROSSCOVER_P;
    private  double MUTATION_P;
    private  double EXPECT;
    private  int choiceNum;
    private  int judgeNum;
    private  int fillingNum;
    private  int shortAnswerNum;
    private  int solveNum;
    private  int totalNumber;
    private  double choiceScore;
    private  double judgeScore;
    private  double fillingScore;
    private  double shortAnswerScore;
    private  double solveScore;
    private  double totalScore;

    public GeneticParameter(List<Question> choiceQuestion, List<Question> judgeQuestion, List<Question> fillingQuestion, List<Question> shortAnswerQuestion, List<Question> solveQuestion, int GROUP_SIZE, double CROSSCOVER_P, double MUTATION_P, double EXPECT, int choiceNum, int judgeNum, int fillingNum, int shortAnswerNum, int solveNum, double choiceScore, double judgeScore, double fillingScore, double shortAnswerScore, double solveScore) {
        this.choiceQuestion = choiceQuestion;
        this.judgeQuestion = judgeQuestion;
        this.fillingQuestion = fillingQuestion;
        this.shortAnswerQuestion = shortAnswerQuestion;
        this.solveQuestion = solveQuestion;
        this.GROUP_SIZE = GROUP_SIZE;
        this.CROSSCOVER_P = CROSSCOVER_P;
        this.MUTATION_P = MUTATION_P;
        this.EXPECT = EXPECT;
        this.choiceNum = choiceNum;
        this.judgeNum = judgeNum;
        this.fillingNum = fillingNum;
        this.shortAnswerNum = shortAnswerNum;
        this.solveNum = solveNum;
        this.choiceScore = choiceScore;
        this.judgeScore = judgeScore;
        this.fillingScore = fillingScore;
        this.shortAnswerScore = shortAnswerScore;
        this.solveScore = solveScore;
        this.totalNumber = choiceNum + judgeNum + fillingNum + shortAnswerNum + solveNum;
        this.totalScore = choiceNum * choiceScore + judgeNum * judgeScore + fillingNum * fillingScore + shortAnswerNum * shortAnswerScore+solveNum*solveScore;
    }

    public List<Question> getChoiceQuestion() {
        return choiceQuestion;
    }

    public void setChoiceQuestion(List<Question> choiceQuestion) {
        this.choiceQuestion = choiceQuestion;
    }

    public List<Question> getJudgeQuestion() {
        return judgeQuestion;
    }

    public void setJudgeQuestion(List<Question> judgeQuestion) {
        this.judgeQuestion = judgeQuestion;
    }

    public List<Question> getFillingQuestion() {
        return fillingQuestion;
    }

    public void setFillingQuestion(List<Question> fillingQuestion) {
        this.fillingQuestion = fillingQuestion;
    }

    public List<Question> getShortAnswerQuestion() {
        return shortAnswerQuestion;
    }

    public void setShortAnswerQuestion(List<Question> shortAnswerQuestion) {
        this.shortAnswerQuestion = shortAnswerQuestion;
    }

    public List<Question> getSolveQuestion() {
        return solveQuestion;
    }

    public void setSolveQuestion(List<Question> solveQuestion) {
        this.solveQuestion = solveQuestion;
    }

    public int getGROUP_SIZE() {
        return GROUP_SIZE;
    }

    public void setGROUP_SIZE(int GROUP_SIZE) {
        this.GROUP_SIZE = GROUP_SIZE;
    }

    public double getCROSSCOVER_P() {
        return CROSSCOVER_P;
    }

    public void setCROSSCOVER_P(double CROSSCOVER_P) {
        this.CROSSCOVER_P = CROSSCOVER_P;
    }

    public double getMUTATION_P() {
        return MUTATION_P;
    }

    public void setMUTATION_P(double MUTATION_P) {
        this.MUTATION_P = MUTATION_P;
    }

    public double getEXPECT() {
        return EXPECT;
    }

    public void setEXPECT(double EXPECT) {
        this.EXPECT = EXPECT;
    }

    public int getChoiceNum() {
        return choiceNum;
    }

    public void setChoiceNum(int choiceNum) {
        this.choiceNum = choiceNum;
    }

    public int getJudgeNum() {
        return judgeNum;
    }

    public void setJudgeNum(int judgeNum) {
        this.judgeNum = judgeNum;
    }

    public int getFillingNum() {
        return fillingNum;
    }

    public void setFillingNum(int fillingNum) {
        this.fillingNum = fillingNum;
    }

    public int getShortAnswerNum() {
        return shortAnswerNum;
    }

    public void setShortAnswerNum(int shortAnswerNum) {
        this.shortAnswerNum = shortAnswerNum;
    }

    public int getSolveNum() {
        return solveNum;
    }

    public void setSolveNum(int solveNum) {
        this.solveNum = solveNum;
    }

    public int getTotalNumber() {
        return totalNumber;
    }

    public void setTotalNumber(int totalNumber) {
        this.totalNumber = totalNumber;
    }

    public double getChoiceScore() {
        return choiceScore;
    }

    public void setChoiceScore(double choiceScore) {
        this.choiceScore = choiceScore;
    }

    public double getJudgeScore() {
        return judgeScore;
    }

    public void setJudgeScore(double judgeScore) {
        this.judgeScore = judgeScore;
    }

    public double getFillingScore() {
        return fillingScore;
    }

    public void setFillingScore(double fillingScore) {
        this.fillingScore = fillingScore;
    }

    public double getShortAnswerScore() {
        return shortAnswerScore;
    }

    public void setShortAnswerScore(double shortAnswerScore) {
        this.shortAnswerScore = shortAnswerScore;
    }

    public double getSolveScore() {
        return solveScore;
    }

    public void setSolveScore(double solveScore) {
        this.solveScore = solveScore;
    }

    public double getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(double totalScore) {
        this.totalScore = totalScore;
    }
}
